package com.clkj.cldisabledmanclient.mvp.recovertrainapply;

import com.clkj.cldisabledmanclient.base.BasePresenter;
import com.clkj.cldisabledmanclient.base.BaseView;
import com.clkj.cldisabledmanclient.bean.InstitutionBean;
import com.clkj.cldisabledmanclient.bean.PersonInfo;

import java.util.List;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;

/**
 * Created by clboys on 2019/5/15.
 */

public class RecoverTrainApplyContract {

    public interface View extends BaseView<Presenter> {

        void getPersonInfo();

        void getRegionXian();

        void getDisableType();

        void getFamilyTypes();

        void getEconomicSource();

        void getOrgnizeByDiableType(String disabilityCategory);

        void getPersonInfoSuccess(PersonInfo personInfo);

        void getPersonInfoError(String tip);

        void getRegionXianSuccess(String[] regions);

        void getRegionXianError(String tip);

        void getDisableTypeSuccess(String[] disabletypes);

        void getDisableTypeError(String tip);

        void getEconomicSourceSuccess(String[] economicSources);

        void getEconomicSourceError(String tip);


        void getFamilyTypesSuccess(String[] familytypes);

        void getFamilyTypesError(String tip);


        void getOrgnizeByDiableTypeSuccess(List<InstitutionBean> institutionBeans);

        void getOrgnizeByDiableTypeError(String tip);

        void submitApply();

        void addApplySuccess(String result);

        void addApplyError(String tip);
    }


    public interface Presenter extends BasePresenter {

        void getPersonInfo(String IdCard);

        void getRegionXian();//获取区县

        void getDisableType();//获取残疾类型

        void getOrgnizeByDiableType(String disabilityCategory);//根据残疾类型获取意向机构

        void getFamilyTypes(); //获取家庭类别

        void getEconomicSource();//获取经济来源

        void addApply(RequestBody area, RequestBody country, RequestBody name, RequestBody gender,
                      RequestBody birthday, RequestBody disabilityCategory, RequestBody IdCard, RequestBody address,
                      RequestBody guardianName, RequestBody guardianRelationship, RequestBody guardianCompany, RequestBody guardianTel,
                      RequestBody guardianName2, RequestBody guardianRelationship2, RequestBody guardianCompany2, RequestBody guardianTel2,
                      RequestBody familyCategory, RequestBody economicSource, RequestBody personnelAnnualIncome, RequestBody institutionId,
                      RequestBody reasonDemand, MultipartBody.Part personnelImgageMap, MultipartBody.Part guardianIDCardMap,
                      MultipartBody.Part guardianResidenceBookletMap, MultipartBody.Part childrenResidenceBookletMap,
                      MultipartBody.Part lowAssuranceMap, MultipartBody.Part disabilityCertificateMap,
                      MultipartBody.Part hospitalProveMap);

        void addApply2(RequestBody area, RequestBody country, RequestBody name, RequestBody gender,
                      RequestBody birthday, RequestBody disabilityCategory, RequestBody IdCard, RequestBody address,
                      RequestBody guardianName, RequestBody guardianRelationship, RequestBody guardianCompany, RequestBody guardianTel,
                      RequestBody guardianName2, RequestBody guardianRelationship2, RequestBody guardianCompany2, RequestBody guardianTel2,
                      RequestBody familyCategory, RequestBody economicSource, RequestBody personnelAnnualIncome, RequestBody institutionId,
                      RequestBody reasonDemand, MultipartBody.Part personnelImgageMap, MultipartBody.Part guardianIDCardMap,
                      MultipartBody.Part guardianResidenceBookletMap, MultipartBody.Part childrenResidenceBookletMap,
                      MultipartBody.Part lowAssuranceMap, MultipartBody.Part hospitalProveMap);
    }


}
